#include "BulletCollision/CollisionDispatch/SphereTriangleDetector.h"
#ifdef __cplusplus
extern "C" {
#endif
SphereTriangleDetector* bullet_NewSphereTriangleDetector(btSphereShape* sphere,btTriangleShape* triangle,double contactBreakingThreshold){
	btSphereShape * c_arg_sphere=(btSphereShape *)(void*)(sphere);
	btTriangleShape * c_arg_triangle=(btTriangleShape *)(void*)(triangle);
	btScalar c_arg_contactBreakingThreshold=contactBreakingThreshold;
	SphereTriangleDetector* wrap_out = new SphereTriangleDetector(c_arg_sphere,c_arg_triangle,c_arg_contactBreakingThreshold);
	return wrap_out;
}

bool bullet_SphereTriangleDetector_collide(SphereTriangleDetector* c_this,btVector3* sphereCenter,btVector3* point,btVector3* resultNormal,double* depth,double* timeOfImpact,double contactBreakingThreshold){
	btVector3 const& c_arg_sphereCenter=(btVector3 const&)(*sphereCenter);
	btVector3& c_arg_point=(btVector3&)(*point);
	btVector3& c_arg_resultNormal=(btVector3&)(*resultNormal);
	btScalar& c_arg_depth=(btScalar&)(*depth);
	btScalar& c_arg_timeOfImpact=(btScalar&)(*timeOfImpact);
	btScalar c_arg_contactBreakingThreshold=contactBreakingThreshold;
	bool c_out = c_this->collide(c_arg_sphereCenter,c_arg_point,c_arg_resultNormal,c_arg_depth,c_arg_timeOfImpact,c_arg_contactBreakingThreshold);
	bool wrap_out = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
